#pragma once
#define SNU_GBC_HEADER_SIZE			136072

#define SNU_GBC_IMAGE_WIDTH			396
#define SNU_GBC_IMAGE_HEIGHT		224

#define SNU_TO_ARRAY_INDEX(x,y)		((y)*SNU_GBC_IMAGE_WIDTH+(x))

enum SNU_EBillType
{
	BILLTYPE_EURO_5 = 0x0,
	BILLTYPE_EURO_10,
	BILLTYPE_EURO_20,
	BILLTYPE_EURO_50,
	BILLTYPE_EURO_100,
	BILLTYPE_EURO_200,
	BILLTYPE_EURO_500,
	BILLTYPE_YUAN_50,
	NUM_OF_BILLTYPES,
};

enum SNU_EBillDirection
{
	BILLDIRECTION_BB	= 0x0,
	BILLDIRECTION_BT,
	BILLDIRECTION_FB,
	BILLDIRECTION_FT,
	NUM_OF_BILLDIRECTION
};

namespace SNU
{
	class CCornerInfo;
}

inline char** SNU_allocate_image_array()
{
	char** ppImageArrays = (char**)malloc(sizeof(char*) * 8);
	for ( int i=0; i<8; i++ )
		ppImageArrays[i] = (char*)malloc(SNU_GBC_IMAGE_WIDTH*SNU_GBC_IMAGE_HEIGHT);
	return ppImageArrays;
}

inline void SNU_free_image_array(char** ppImageArrays)
{
	for ( int i=0; i<8; i++ )
		free(ppImageArrays[i]);
	free(ppImageArrays);
}